<?php

class Config extends Base_Abstract{

	/**
	 * @param array $data Массив данных
	 */
	public function __construct (array $data) {
		$this->_data = $data;
	}

	/**
	 * Создает новый объект класса Config, принимая файл данных в формате php.
	 * @param string $filename
	 * @return Config
	 */
	public static function fromFile ($filename) {
		if(!file_exists($filename)) throw new Exception("Config file \"" . pathinfo($filename, PATHINFO_FILENAME) . "\" is not excists.");
		if(!is_file($filename)) throw new Exception("Passed file \"" . pathinfo($filename, PATHINFO_FILENAME) . "\" is not a file.");
		
		$data = require_once $filename;
		return new self($data);
	}

}